ColorSync™ 2.6 is the latest version of Apple Computer's color management architecture for the Mac OS. This document describes the new features of version 2.6 as well as major features introduced in earlier versions.
What's New in ColorSync™ 2.6
- Expanded AppleScript dictionary
- JPEG and GIF support
- Control Panel interface
- Intelligent profile listing in Monitors & Sound
- Gray space profile
- Expanded bitmap support
- Additional API calls for developers
Expanded AppleScript dictionary
The ability to use AppleScript to automate ColorSync was introduced in ColorSync 2.5 by making the ColorSync Extension a faceless background application, allowing it to respond to Apple events. ColorSync 2.6 responds to even more commands than it did before, allowing the user to get detailed information about profiles in the ColorSync Profiles folder, profiles associated with displays, and profiles embedded within images. Most of these attributes of profiles can also be changed by the user via AppleScript. Images can be matched, proofed, or embedded with profiles as before, and can also have any embedded profiles removed by unembedding. See the Sample Scripts Read Me in the "ColorSync Extras:AppleScript Files" folder for detailed information about writing AppleScripts for ColorSync.
JPEG and GIF support
Prior to ColorSync 2.6 only TIFF images could be used with the ColorSync Photoshop Plug-ins and with AppleScripts performing ColorSync operations. Now both Applescripts and the plug-ins will work with images saved in the widely used JPEG and GIF formats. This opens up a whole world of web based ColorSync workflows for the designer and allows users to easily embed and match images for use in their own web pages, bringing ColorSync directly to the web. Web browsers can correctly render images with embedded or associated profiles on the user's display, calling ColorSync to match from the image's profile to the user's display profile, ensuring that web based images get rendered the way they were intended to be seen.
New Control Panel design
The control panel has been redesigned for clarity, subdividing the various popups which control ColorSync's behavior. Controls and preferences can be set in the Profiles and CMMs panels, and further information about ColorSync and related technologies can be found by selecting the live web links found in the About panel.
Under the Profiles tab, the System Profile represents your monitor, or your main monitor if you have more than one. This setting is used by ColorSync-aware applications to color match images so they look best on your particular display. Although it's possible to change your System Profile using this popup, it's better to do so by selecting a profile from the ColorSync Profile panel under the Color section of the Monitors & Sound control panel. Choosing a profile from Monitors & Sound will set your system profile and correctly update your display's gamma and white point settings, whereas choosing a profile from the popup in the ColorSync control panel sets your system profile but doesn't update your display's gamma. See the "Monitor Calibration" section below for more details.
The RGB Default and CMYK Default settings are meant to represent the color space of images which have no embedded profile or whose original profile is unknown. If a ColorSync aware application encounters an RGB image of unknown origin, the application can use the setting of the RGB Default popup as a "stand in" to represent the image's source color space when performing color matching operations. The CMYK Default behaves similarly, defining a profile to be used to represent the destination space of RGB images being matched to CMYK, or to represent a standard CMYK space. CMYK profiles are a bit trickier than RGB profiles, in that more variation exists between different CMYK devices than between different RGB devices, in general. If you have a CMYK printer, or know you will be using a certain CMYK printer elsewhere, you should set the CMYK Default to that preferred printer.
The second tab in the control panel is labeled "CMMs". A CMM is a Color Matching Method (or Color Matching Module, depending on who you ask), a plug-in of sorts which contains low level color matching code. ColorSync is an architecture of tools, routines, and interfaces which unify and integrate color matching at a system-wide level, whereas CMMs are individual color matching engines. Both are necessary and work together to perform color matching. Apple ships the Heidelberg CMM bundled into the ColorSync Extension itself so that at least one CMM is always present. The Kodak CMM or the Agfa CMM can additionally be installed and called upon to do color matching by doing a "custom install" with the ColorSync 2.6 Installer instead of the default "easy install".
The setting "Preferred CMM" is the system level setting that determines which CMM should be used when matching with a given profile. Most profiles contain information specifying which CMM the profile author intended the profile to be used with. When Preferred CMM is set to "Automatic", ColorSync will use the CMM specified in the profile itself. Below the option for "Automatic" follows a list of all installed CMMs. If any of these specific CMMs is chosen for Preferred CMM, ColorSync will always use that specific CMM regardless of what is specified in the profile. Most users should probably set the Preferred CMM to "Automatic" for best results.
Intelligent profile listing in Monitors & Sound
Launching the Monitors & Sound control panel and selecting the Color button brings up the ColorSync Profile panel, and selecting a profile from this list associates that profile with your display. Earlier versions of ColorSync populated this list with all display profiles installed in the ColorSync Profiles folder. ColorSync 2.6 improves this listing by removing from the list any profiles which would not logically apply to your display based on your current resolution and screen depth settings. For instance, if your display is set to a resolution of 1024 by 768, any profile of a device not capable of that resolution will be removed from the list, narrowing down your list of possible display profiles from which to choose.
New Gray Space Profile
ColorSync 2.5 shipped with the standard color space profiles Generic RGB Profile, Generic CMYK Profile, Generic Lab Profile, and Generic XYZ Profile. ColorSync 2.6 adds to this set the Generic Gray Profile. Users can now create grayscale images from color images by matching to the Generic Gray Profile using either AppleScript, the PhotoShop plugins, or ColorSync aware applications.
Expanded Bitmap Support
Of interest to developers is the addition of more types of bitmap formats supported natively by ColorSync. Some of these new formats allow ColorSync to support both big-endian and little-endian (Mac and PC) bitmap formats for enhanced cross platform functionality, while others allow higher precision in dealing with color data.
Additions to the API
Also of interest to developers is the addition of some new calls to the ColorSync API, including CMGetCMMInfo() which returns information about a specified CMM, and NCWConcatColorWorld(), which provides significantly more powerful matching options than the existing call CWConcatColorWorld(). Another important new call is CMGetProfileByAVID(), which returns the profile associated with a given display. When matching images to the screen, it's much more useful to use the display's profile as a destination than to use the System Profile as a destination. The System Profile is in some ways an outdated feature. When it was introduced it was the only source of profile information an application could determine about the user's system, and so had to perform double duty as a representation of the user's display, and as a standard source and destination RGB space. System Profile is also limited in that it cannot realistically represent the user's display environment if multiple monitors are present. If developers use CMGetProfileByAVID() when matching to the screen, the profile returned will more accurately reflect the display upon which the image will be rendered, whether in a single or multiple monitor environment.
Features of ColorSync™ introduced in earlier versions
- Monitor calibration
- AppleScript support
- Profile cache file
- Profiles folder and subfolders
- Photoshop plug-ins
- Multiprocessing
- 16 bit support
Monitor Calibration
Open up the Monitors & Sound control panel and you’ll notice the ColorSync Profiles panel shows a list of profiles. You might also notice that the list of monitor gammas (Mac Standard Gamma, Uncorrected Gamma) has been removed, since the setting of gamma has been moved into the calibration process. Clicking on the “Calibrate” button brings up the Monitor Calibration Assistant, which looks a lot like other Assistants you’ve probably used before. The assistant walks you through a series of screens with helpful text describing the purpose of each step in the process.
The assistant helps you create a “profile” of your monitor that describes the gamut of your monitor based on its phosphor set, the inherent gamma of your monitor, the gamma you’re trying to achieve, the white point your monitor is set to, and the white point you’re trying to achieve. After you’ve created and saved a profile, it shows up in the list of available profiles.
The Monitor Calibration Assistant which appears when you click on the “Calibrate” button is part of the Default Calibrator, the software-only calibrator supplied by Apple. But the new calibration system is really a calibration framework, a plug-in architecture which can easily accomodate third party calibration applications. Developers can simply write their own calibrators as plugins to the calibration framework, and when the user hits the "Calibrate" button, a list of all installed plugins comes up.
You change the monitor's display characteristics by selecting different profiles in the profile list. To try this out for yourself, first create one profile with a target white point of D50 and a second profile with a target white point of 9300. In the profiles list (shown in the picture above), click on the D50 profile, then click on the 9300 profile. Notice the monitor changes its white point as you select first one profile, then the other. The same thing goes for different gammas. If you set the gamma to 1.8 for one profile and to 2.2 for another, when you select either in the list, the monitor's display changes to reflect the gamma setting in the profile.
If you have a ColorSync Display (previously known as the AppleVision Display), Apple’s software Default Calibrator will not be available for use, since these displays have their own built in hardware calibration systems separate from ColorSync's calibration framework. As a result, you won’t see the “Calibrate” button on these displays unless you’ve installed a third party calibrator which does take advantage of the framework. You will instead see the "recalibrate" button which initiates your display's built-in calibration system based on the settings in the "Apple DigitalColor Technologies" panel. You will only see this panel if you have connected to your computer a ColorSync Display, an AppleVision Display, or a 21" Apple Studio Display.
So once you’ve created these profiles what do you do with them? You can use them to do ColorSync matching, using either AppleScripts, the ColorSync plug-ins for Photoshop, or ColorSync-aware third party applications.
AppleScript Support
You can use AppleScript to do the same kinds of ColorSync matching previously available only in the ColorSync Photoshop plug-ins or in third party applications. There are several sample AppleScripts included with ColorSync, so you can cut, paste and modify parts of them for your own use. More documentation about each of the scripts can be found in the “Sample Scripts Read Me” file.
This scriptability is the result of the ColorSync Extension being a faceless background application, as opposed to the simple extension ColorSync used to be. As a scriptable application, it has its own AppleScript dictionary. You can examine this dictionary by finding “ColorSync Extension” in the extensions folder and dragging it onto the Script Editor, which is in the Apple Extras folder inside the AppleScript folder. Script Editor then brings up a window with all the commands the ColorSync Extension will respond to. It can embed, match, proof, link, and even quit. But don’t expect to see it in your processes list, because it’s faceless...it’s there, you just can’t see it.
Profile Cache File
ColorSync makes use of a cache file in the Preferences folder to keep track of the currently installed profiles. Through a series of checks on the modification date of each profile, the modification dates of folders and subfolders, and the total number of profiles installed, ColorSync is able to quickly determine whether any profiles have been added or removed, passing this information on to applications requesting it. This can potentially speed up profile management routines such as building a list of profiles or displaying a pop-up menu of the available profiles.
Profiles Folder Location and Subfolders
Prior to ColorSync 2.5, ColorSync would search in the “ColorSync™ Profiles” folder inside the Preferences folder for all installed profiles. ColorSync 2.5 and later versions place a “ColorSync Profiles” folder directly in the System Folder. This change was made so that users would not accidentally delete all their profiles if they deleted other preferences and, perhaps more importantly, so profiles can be automatically routed to the profiles folder. As of MacOS 8.5, users can drag profiles onto the System Folder icon and the system will place the profiles in the appropriate place, in the same way that extensions and control panels get automatically placed. For backward compatibility, ColorSync creates an alias to the old “ColorSync™ Profiles” folder inside the new “ColorSync Profiles” folder.
Another feature of the “ColorSync Profiles” folder is that it allows profiles to be placed in subfolders. For example you could organize your profiles folder as shown below.
Profiles stored one level deep (as in a folder "ColorSync Profiles:MyProfiles") will show up correctly in lists and be available for use. Profiles stored two levels deep (as in a folder "ColorSync Profiles:MyProfiles:Hidden") will not show up, so you can hide profiles you don't use often, if you like.
Applications can (and should) call ColorSync to get the list of currently installed profiles, as opposed to assuming the path to the original folder. This is especially necessary to support the new subfolder feature. Previous versions of ColorSync only looked at profiles inside the Profiles Folder, but didn’t look inside subfolders. That’s fine if you only have a few profiles, but it’s nice to be able to organize your profiles into subfolders for clarity, especially if you have several dozen of them. Note that it’s okay to have subfolders, individual profiles, and aliases within the profiles folder.
Photoshop Plug-ins
ColorSync ships with three Photoshop plug-ins called ColorSync Filter, ColorSync Import, and ColorSync Export. You can use these with Photoshop or any other app that supports Photoshop format plug-ins. The plug-ins are not installed as part of a default installation, but you can do a custom install to gain access to them. As of MacOS 8.5, the ColorSync installer can be found as a package within the main MacOS installer.
Find your system software installer CD and launch the "Mac OS Install" icon. When you get to the screen "Click Start to install Mac OS 8.5 on (your disk)", the hit "Customize" to bring up a list of packages. Scroll down to the entry for ColorSync, and instead of leaving the popup selected as "recommended installation", just click the popup to select "customized installation". Put a check next to the additional packages you want to install.
Experimenting with the Photoshop plug-ins can be a great aid to understanding what ColorSync actually does. In Photoshop the ColorSync Filter is accessible from the “Filters” menu, while Export and Import are accessible from the “File” menu.
Using the ColorSync Filter to do a proof is probably the most instructional example. Open an RGB image, then run the ColorSync filter, selecting the “proof” tab. Select a monitor profile for the source, and the same monitor profile for the proof, but select a printer profile as the destination. You should be able to see the color difference between the original image and the proofed image. By the way, what you’re doing is simulating what the image would look like if it were printed using that printer. By selecting different printers as the destination, you can compare what the image would look like on each printer. See the “ColorSync Plug-ins ReadMe” file for detailed information on how the plug-ins work.
Multiprocessing Support
ColorSync can take advantage of multiprocessor machines when performing matching operations. The matching algorithms are optimized to take advantage of multiple processors with about 90% efficiency. It’s scalable too, so in the presence of four processors, a given operation will take about a fourth of the time required with a single processor.
In low memory conditions on systems with 16mb or less of installed memory, you may occasionally see a warning dialog appear saying “The MP library could not be completely initialized due to insufficient memory.” This is an artifact of the multiprocessing library itself and can safely be ignored if your machine only has one processor - if none of this sounds familiar, then chances are you’ve only got one processor. If you see the warning often, you may wish to avoid its appearance by removing the Multiprocessing extensions from your extension folder.
Support for 16 bits per channel images
ColorSync supports matching to and from high-resolution images which use 16 bits per channel. Most common RGB images use no more than 8 bits per channel (256 degrees of red, 256 degrees of green, 256 degrees of blue) which when combined result in 16,777,216 possible colors - that’s the “millions of colors” option you may have seen when setting the color depth of your monitor using the Control Strip. In comparison, a 16 bits per channel image may describe up to 65,536 shades in each red, green, and blue channel, resulting in over 218 trillion possible color combinations.
What gets installed with ColorSync™ 2.6
Choosing the “Easy Install” option during installation installs the control panel “ColorSync” and the extension “ColorSync Extension” into the appropriate folders of your system folder, and also installs the following files into the “ColorSync Extras” folder of the “Apple Extras” folder of your hard disk:
- ColorSync Read Me
- AppleScript Files: Sample Scripts Read Me
- AppleScript Files: AutoMatch
- AppleScript Files: Drop Embed
- AppleScript Files: DropProof
- AppleScript Files: Match to CMYK
- AppleScript Files: PC to Mac Gamma
- AppleScript Files: Embed chosen profile
- AppleScript Files: Embed specific profile
- AppleScript Files: Match to chosen profiles
- AppleScript Files: Match to specific profiles
- AppleScript Files: Proof to chosen profiles
- AppleScript Files: Proof to specific profiles
- AppleScript Files: Build profile info web page
- AppleScript Files: Change display profile
- AppleScript Files: Mimic PC monitor
- AppleScript Files: Recursive embedder
- AppleScript Files: Remove profile from image
- AppleScript Files: Rename profile
- AppleScript Files: Set profile info
- AppleScript Files: Show profile info
The “Easy Install” also installs the following ColorSync Profiles into the “ColorSync Profiles” folder of the “System Folder” of your hard disk:
- Apple 13" RGB Standard
- Apple Multiple Scan 1705
- Apple Multiple Scan 17 - 9300
- Apple Multiple Scan 17 - D50
- Apple Multiple Scan 17 - D65
- Apple Multiple Scan 20 - 9300
- Apple Multiple Scan 20 - D50
- Apple Multiple Scan 20 - D65
- ColorSync Display 9300
- Twentieth Anniversary Macintosh
- iMac Display
- PowerBook 2400 Standard
- PowerBook 3400
- PowerBook G3 Series
- sRGB Profile
- Studio Display 17 - 9300
- Studio Display 21 - 9300
- Studio Display AMLCD
- Color OneScanner 1200/30
- Color OneScanner 600/27
- CS ColorMatch 3.01 SWOP Sf C
You may also perform a “Custom Install” of ColorSync, allowing you to install any or all of the following:
- the Kodak CMM in the extensions folder,
- the Agfa CMM in the extensions folder,
- the ColorSync Plugins and Plugins ReadMe in the ColorSync Extras folder,
- the following additional ColorSync profiles in the ColorSync Profiles folder:
- Apple 12" RGB Standard
- Apple 16" RGB Page-White
- Apple 16" RGB Standard
- Apple 21" RGB Page-White
- Apple 21" RGB Standard
- Apple Multiple Scan 14
- Apple Multiple Scan 15
- Apple Performa Display
- Apple Performa Plus Display
- Mac Color Display Standard
- Color SW 1500 Pattern
- Color SW 1500 Scatter
- Color SW 2500 Pattern
- Color SW 2500 Pattern Best 1
- Color SW 2500 Pattern Best 2
- Color SW 2500 Scatter
- Color SW 2500 Scatter Best 1
- Color SW 2500 Scatter Best 2
- CSW 6500 Coated
- CSW 6500 Plain
- CSW 6500 Specialty
- Color LW 12/600 PS Profile
- Color LW 12/600 PS Profile
- 4/C Ctd. TRUMATCH/RIT/Profile80
Supported Configurations
ColorSync 2.6 is designed to work on PowerPC machines running System 8.1 or later.